<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
  // 数组方法

  // 1. push方法
  // `push` 是用来在数组的末尾追加一个元素
  // 会改变原数组
  // 返回值是新数组的长度
  // var arr = [1, 2, 3, 4, 5];
  // var a = arr.push(9);
  // console.log(arr);
  // console.log(a);



  // 2. pop方法
  // `pop` 是用来删除数组末尾的一个元素
  // 会改变原数组的
  // 返回值是删除的那一项元素
  // var arr = [1, 2, 3, 4, 5, 9, ["a", "b", "c"]];
  // var a = arr.pop();
  // console.log(arr);
  // console.log(a);



  // 3. unshift方法
  // `unshift` 是在数组的最前面添加一个元素
  // 会改变原数组的
  // 返回值是新数组的长度
  // var arr = [1, 2, 3, 4, 5];
  // var a = arr.unshift(0);
  // console.log(arr);
  // console.log(a);



  // 4. shift方法
  // `shift` 是删除数组最前面的一个元素
  // 会改变原数组的
  // 返回值是删除的那一项元素
  // var arr = [1, 2, 3, 4, 5];
  // var a = arr.shift();
  // console.log(arr);
  // console.log(a);




  // 5. splice方法
  // `splice` 是截取数组中的某些内容，按照数组的索引来截取
  // 语法： `splice(从哪一个索引位置开始，截取多少个，替换的新元素)` （第三个参数可以不写）
  // 会改变原数组的
  // 返回值是被删除的元素组成的数组

  // var arr = [1,2,3,4,5];
  // arr.splice(2, 3);
  // console.log(arr);
  // var a = arr.splice(1, 2, 999);
  // console.log(arr);
  // console.log(a);




  // 6. reverse方法
  // `reverse` 是用来反转数组使用的
  // 会改变原数组的
  // 返回值就是反转以后的数组
  // var arr = [1,2,3,4,5];
  // var a = arr.reverse();
  // console.log(arr);
  // console.log(a);




  // 7. sort方法
  // `sort` 是用来给数组排序的，从小到大
  // 会改变原数组的
  // 返回值就是排序完以后的数组

  // 如果sort方法没写参数，默认都是按照unicode编码进行排序的
  // var arr = [3,13,5,4,2];
  // var a = arr.sort();
  // console.log(arr);
  // console.log(a);

  // 字符串是按照unicode编码进行排序的
  // var arr = ["zhangsan", "lisi", "wangwu", "zhaoliu", "sunqi", "wangba"];
  // console.log(arr.sort());

  // sort方法是可以接收一个函数作为参数的
  // 这个函数又可以接受a,b两个参数,a和b指的是相邻的那两个元素
  // var arr = [3,1,5,4,2];
  // arr.sort(function(a, b) {
  //   console.log(a, b);
  //   return b - a;
  // });
  // console.log(arr);

  // var arr = [
  //   {
  //     name: "qibing",
  //     score: 70,
  //   },
  //   {
  //     name: "wenjie",
  //     score: 70,
  //   },
  //   {
  //     name: "yunpeng",
  //     score: 80,
  //   },
  //   {
  //     name: "yongcheng",
  //     score: 70,
  //   }
  // ]
  // arr.sort(function(a, b) {
  //   return b.score - a.score;
  // })
  // console.log(arr);





  // 8. concat方法
  // `concat` 是把多个数组进行拼接, 也可以用数组来拼接单个元素
  // 和之前的方法有一些不一样的地方，
  // 就是 `concat` 不会改变原始数组，
  // 而是返回一个新的数组

  // var arr = [1,2,3,4,5];
  // var newArr = arr.concat([6,7,8]);
  // console.log(newArr);

  // var arr = [1,2,3,4,5];
  // var newArr = arr.concat(9);
  // console.log(newArr);



</script>